
//추상클래스는 객체를 생성할 수 없는 클래스 (new 추상클래스() 불가능)
//-> 그러나 추상클래스 타입의 참조 변수를 선언할 수 있습니다.
//abstract 메서드를 포함하면 abstract 클래스로 선언해야 합니다.
public abstract class Shape {//추상클래스
	
	//추상 메서드 : 내용이 없는 메서드 ( { ... }이 없는 메서드)
	public abstract void draw();
	public void anotherMethod(){}

}

//추상 클래스는 다른 클래스의 상위 클래스로 사용됩니다.
//추상 클래스를 상속하는 클래스는 상속 받은 추상 메서드를 
//재정의 하거나 또는 추상 클래스로 만들어야 합니다.
class Ellipse extends Shape {
	public void draw() {
		System.out.println("Ellipse");
	}	
}
class Line extends Shape {
	public void draw() {
		System.out.println("Line");
	}
}
class Rectangle extends Shape {
	public void draw() {
		System.out.println("Rectangle");
	}
}










